package com.wq.tulinprocess;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import org.json.JSONException;
import org.json.JSONObject;

import com.wq.beans.ReceiveXmlEntity;

import com.wq.tulinprocess.FormatXmlTextProcess;


/**
 * 微信xml消息处理流程逻辑�?
 * @author pamchen-1
 *
 */
public class WechatProcess {
	/**
	 * 解析处理xml、获取智能回复结果（通过图灵机器人api接口�?
	 * @param xml 接收到的微信数据
	 * @return	�?��的解析结果（xml格式数据�?
	 */
	public String processWechatMag(String xml){
		/** 解析xml数据 */
		ReceiveXmlEntity xmlEntity = new ReceiveXmlProcess().getMsgEntity(xml);
		String  result="";
		/** 以文本消息为例，调用图灵机器人api接口，获取回复内荣*/
		
		if("text".endsWith(xmlEntity.getMsgType())){
	
			/** 此时，如果用户输入的是�?你好”，在经过上面的过程之后，result为
			 *  因为回复给微信的也是xml格式的数据，将其封装为文本类型返回消
			 * */
			 result = new TulingApiProcess().getTulingResult(xmlEntity.getContent());
			try {
				JSONObject json = new JSONObject(result);
		
				if("100000".equals(json.getString("code"))){
			    result = new FormatXmlTextProcess().formatXmlAnswer(xmlEntity.getFromUserName(), xmlEntity.getToUserName(), json.getString("text"));
 System.out.println(result);			    
				}

				if("200000".equals(json.getString("code"))){
			    result = new FormatXmlLinkProcess().formatXmlAnswer(xmlEntity.getFromUserName(), xmlEntity.getToUserName(), json.getString("text"),json.getString("url"));
System.out.println(result);			    
				}
			} catch (JSONException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
	System.out.println("--------图灵自动文本消息------------");
	        
	
		}
		
		return result;
	}
}
